package com.auto.autoapp.network

/**
 * API 异常类
 * 用于封装 API 请求过程中的各种异常
 */
sealed class ApiException(message: String, val code: Int? = null) : Exception(message) {
    
    /**
     * 网络错误
     */
    class NetworkException(message: String = "网络连接失败") : ApiException(message)
    
    /**
     * 服务器错误
     */
    class ServerException(message: String, code: Int) : ApiException(message, code)
    
    /**
     * 数据解析错误
     */
    class ParseException(message: String = "数据解析失败") : ApiException(message)
    
    /**
     * 未知错误
     */
    class UnknownException(message: String = "未知错误") : ApiException(message)
    
    /**
     * 超时错误
     */
    class TimeoutException(message: String = "请求超时") : ApiException(message)
    
    /**
     * 业务错误
     */
    class BusinessException(message: String, code: Int) : ApiException(message, code)
}


